package cn.edu.zsc.rbac.domain.dao;

import cn.edu.zsc.rbac.domain.entity.BaseEntity;

import java.util.Collection;


public interface IBaseDao<Entity extends BaseEntity> {

    //  新增软删除和恢复方法
    Entity softDelete(int id); // 软删除
    Entity restore(int id);    // 恢复

    boolean existsById(int id);

    Entity findById(int id);

    Collection<Entity> list();

    Entity save(Entity entity);

    Entity delete(int id);
}
//接口定义：
//IBaseDao 是一个泛型接口，泛型参数 Entity 必须是 BaseEntity 或其子类。
//它为数据访问层（DAO）提供了统一的操作契约，
// 用于对实体进行常见的 CRUD（创建、读取、更新、删除）操作。
